<?php


namespace app\common\validate\system;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 系统管理员
 * Class SystemManager
 * @package app\common\validate\system
 */
class SystemManagerValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'integer',    是否为空：1,    说明：序号
     *  字段：'username'，    类型：'character varying(50)',    是否为空：1,    说明：登录名
     *  字段：'password'，    类型：'character varying(32)',    是否为空：1,    说明：密码,
     *  字段：'mobile'，    类型：'character varying(50)',    是否为空：1,    说明：手机号码
     *  字段：'nickname'，    类型：'character varying(50)',    是否为空：1,    说明：手机号码
     *  字段：'is_super'，    类型：'smallint',    是否为空：,    说明：超级用户 1 超级用户,0普通管理员
     *  字段：'status'，    类型：'smallint',    是否为空：,    说明：状态 1正常 0 禁用
     *  字段：'memo'，    类型：'character varying(500)',    是否为空：,    说明：备注
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|dbExists:system_manager,id',
        'username' => 'require',
        'passwd' => 'require',
        'mobile' => 'require|unique:system_manager,mobile',
        'nickname' => 'require',
        'is_super' => 'in:1,0',
        'status' => 'in:1,0',
        'dept_id' => 'require',
        'role_id' => 'require',


    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '用户编号不能为空',
        'id.dbExists' => '用户编号不存在',
        'dept_id.require' => '所在部门未找到',
        'role_id.require' => '关联角色未找到',
        'username.require' => '登录名不能为空',
        'passwd.require' => '登录密码不能为空',
        'mobile.require' => '手机号码不能为空',
        'mobile.unique' => '手机号码已经存在',
        'nickname.require' => '昵称不能为空',
        'is_super.in' => '管理员类型只能为1,0',
        'status.in' => '状态能为1,0',

    ];

    //验证场景
    protected $scene = [
        'login' => ['username', 'passwd'],
        'add' => ['mobile', 'passwd', 'username', 'is_super','dept_id','role_id'],
        'edit' => ['id', 'username', 'is_super','dept_id','role_id'],
        'reset_passwd' => ['id', 'passwd'],
        'edit_status' => ['id', 'status'],
    ];
}